package service

import (
	"github.com/gin-gonic/gin"
	"gochat/domain/request"
	"gochat/models"
)

var (
	Login   = LoginServiceImpl{}
	Message = MessageImpl{}
	User    = UserServiceImpl{}
	Friend  = FriendServiceImpl{}
	Group   = GroupServiceImpl{}
)

type LoginService interface {
	Login(c *gin.Context, req request.LoginRequest)
	GithubOAuth(c *gin.Context, code string)
	Logout(c *gin.Context)
}

type MessageService interface {
}

type UserService interface {
	SaveUser(c *gin.Context, reqUser request.UserRegisterRequest)
	UpdateUser(c *gin.Context, user models.UserBasic)
}
type FriendService interface {
	AddFriends(c *gin.Context, userId uint, friendId uint)
	FriendRequest(c *gin.Context, sendId uint, ReceiveId uint, message string)
}
